CSSãã¹ã¯ããããã£ã®åãæ¢æ±ããé åçãªèŠèŠå¹æã®äœæãé ãããã³ã³ãã³ãã®è¡šç€ºãé«åºŠãªãã¹ãã³ã°æè¡ã§Webãã¶ã€ã³ãåäžãããŸãããã
CSSãã¹ã¯ããããã£ïŒWebäžã§åµé çãªèŠèŠå¹æãè§£ãæŸã€
CSSãã¹ã¯ããããã£ã¯ãWebããŒãžäžã®èŠçŽ ã®å¯èŠæ§ãå¶åŸ¡ããããã®åŒ·åã§æ±çšæ§ã®é«ãæ¹æ³ãæäŸããé åçãªèŠèŠå¹æã®äœæãé ãããã³ã³ãã³ãã®è¡šç€ºããã¶ã€ã³ãžã®ãŠããŒã¯ãªè¿œå ãå¯èœã«ããŸããåŸæ¥ã®ç»åç·šéãœãããŠã§ã¢ãšã¯ç°ãªããCSSãã¹ãã³ã°ã¯ãã©ãŠã¶å ã§çŽæ¥åçãã€ã¬ã¹ãã³ã·ããªãã¹ãã³ã°ãå¯èœã«ããçŸä»£ã®Webéçºè ã«ãšã£ãŠäžå¯æ¬ ãªããŒã«ãšãªã£ãŠããŸãããã®å æ¬çãªã¬ã€ãã§ã¯ãCSSãã¹ã¯ã®äžçãæ·±ãæãäžãããã®æ§ã ãªããããã£ã䜿çšäŸããã¹ããã©ã¯ãã£ã¹ãæ¢æ±ããŸãã
CSSãã¹ã¯ãšã¯ïŒ
CSSãã¹ã¯ã¯ãå¥ã®ç»åãã°ã©ããŒã·ã§ã³ããã¹ã¯ãšããŠäœ¿çšããŠãèŠçŽ ã®äžéšãéžæçã«é ããã衚瀺ãããããæ¹æ³ã§ããçŽãã圢ãåãæããŠç»åã®äžã«çœ®ããããªãã®ã ãšèããŠãã ãããåãæããã圢ã®å éšã®é åã ããèŠããããã«ãªããŸããCSSãã¹ã¯ãåæ§ã®å¹æãæäŸããŸãããCSSãä»ããŠåçãã€å¶åŸ¡å¯èœã§ãããšããå©ç¹ããããŸãã
mask
ãšclip-path
ã®äž»ãªéãã¯ãclip-path
ãå®çŸ©ããã圢ç¶ã«æ²¿ã£ãŠèŠçŽ ãåçŽã«åãåãã圢ç¶ã®å€åŽã«ãããã¹ãŠãé衚瀺ã«ããç¹ã§ããäžæ¹ãmask
ã¯ãã¹ã¯ç»åã®ã¢ã«ãã¡ãã£ã³ãã«ãŸãã¯èŒåºŠå€ã䜿çšããŠèŠçŽ ã®éæåºŠã決å®ããŸããããã«ããããŒããããšããžãåéæã®ãã¹ã¯ãªã©ãããåºç¯ãªåµé çå¯èœæ§ãéãããŸãã
CSSãã¹ã¯ããããã£ïŒè©³çŽ°è§£èª¬
以äžã«ãäž»èŠãªCSSãã¹ã¯ããããã£ã®å èš³ã瀺ããŸãã
mask-image
: ãã¹ã¯ã¬ã€ã€ãŒãšããŠäœ¿çšãããç»åãŸãã¯ã°ã©ããŒã·ã§ã³ãæå®ããŸããmask-mode
: ãã¹ã¯ç»åãã©ã®ããã«è§£éãããïŒäŸïŒã¢ã«ãã¡ãã¹ã¯ãŸãã¯èŒåºŠãã¹ã¯ãšããŠïŒãå®çŸ©ããŸããmask-repeat
: ãã¹ã¯ç»åããã¹ã¯ãããèŠçŽ ããå°ããå Žåã«ãã©ã®ããã«ç¹°ãè¿ãããå¶åŸ¡ããŸããmask-position
: èŠçŽ å ã§ã®ãã¹ã¯ç»åã®åæäœçœ®ã決å®ããŸããmask-size
: ãã¹ã¯ç»åã®ãµã€ãºãæå®ããŸããmask-origin
: ãã¹ã¯ã®äœçœ®æ±ºãã®åç¹ãèšå®ããŸããmask-clip
: ãã¹ã¯ã«ãã£ãŠã¯ãªãããããé åãå®çŸ©ããŸããmask-composite
: è€æ°ã®ãã¹ã¯ã¬ã€ã€ãŒãã©ã®ããã«çµã¿åãããããæå®ããŸããmask
: è€æ°ã®ãã¹ã¯ããããã£ãäžåºŠã«èšå®ããããã®ã·ã§ãŒããã³ãããããã£ã§ãã
mask-image
mask-image
ããããã£ã¯CSSãã¹ãã³ã°ã®åºç€ã§ãããã¹ã¯ãšããŠäœ¿çšãããç»åãŸãã¯ã°ã©ããŒã·ã§ã³ãæå®ããŸããPNGãSVGãããã«ã¯GIFãªã©ãããŸããŸãªç»å圢åŒã䜿çšã§ããŸãããŸããCSSã°ã©ããŒã·ã§ã³ã䜿çšããŠåçã§ã«ã¹ã¿ãã€ãºå¯èœãªãã¹ã¯ãäœæããããšãã§ããŸãã
äŸïŒPNGç»åããã¹ã¯ãšããŠäœ¿çšãã
.masked-element {
mask-image: url("mask.png");
}
ãã®äŸã§ã¯ãmask.png
ç»åã.masked-element
ããã¹ã¯ããããã«äœ¿çšãããŸããPNGã®éæãªé åã¯èŠçŽ ã®å¯Ÿå¿ããé åãéæã«ããäžéæãªé åã¯èŠçŽ ã®å¯Ÿå¿ããé åãå¯èŠã«ããŸãã
äŸïŒCSSã°ã©ããŒã·ã§ã³ããã¹ã¯ãšããŠäœ¿çšãã
.masked-element {
mask-image: linear-gradient(to right, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
}
ãã®äŸã§ã¯ãç·åœ¢ã°ã©ããŒã·ã§ã³ã䜿çšããŠ.masked-element
ã«ãã§ãŒã广ãäœæããŸããã°ã©ããŒã·ã§ã³ã¯äžéæãªé»ããéæã«é·ç§»ããæ»ãããªãã§ãŒãã¢ãŠã广ãçã¿åºããŸãã
mask-mode
mask-mode
ããããã£ã¯ããã¹ã¯ç»åãã©ã®ããã«è§£éãããããæ±ºå®ããŸããããã€ãã®å¯èœãªå€ããããŸãã
alpha
: ãã¹ã¯ç»åã®ã¢ã«ãã¡ãã£ã³ãã«ãèŠçŽ ã®éæåºŠã決å®ããŸãããã¹ã¯ç»åã®äžéæãªé åã¯èŠçŽ ãå¯èŠã«ããéæãªé åã¯é衚瀺ã«ããŸãããããããã©ã«ãå€ã§ããluminance
: ãã¹ã¯ç»åã®èŒåºŠïŒæããïŒãèŠçŽ ã®éæåºŠã決å®ããŸãããã¹ã¯ç»åã®æããé åã¯èŠçŽ ãå¯èŠã«ããæãé åã¯é衚瀺ã«ããŸããmatch-source
: ãã¹ã¯ã¢ãŒãã¯ãã¹ã¯ãœãŒã¹ã«ãã£ãŠæ±ºå®ãããŸãããã¹ã¯ãœãŒã¹ãã¢ã«ãã¡ãã£ã³ãã«ãæã€ç»åã®å Žåãalpha
ã䜿çšãããŸãããã¹ã¯ãœãŒã¹ãã¢ã«ãã¡ãã£ã³ãã«ãæããªãç»åãŸãã¯ã°ã©ããŒã·ã§ã³ã®å Žåãluminance
ã䜿çšãããŸããinherit
: 芪èŠçŽ ããmask-mode
ã®å€ãç¶æ¿ããŸããinitial
: ãã®ããããã£ãããã©ã«ãå€ã«èšå®ããŸããunset
: 芪èŠçŽ ããç¶æ¿ããå Žåã¯ç¶æ¿å€ã«ãããã§ãªãå Žåã¯åæå€ã«ãªã»ããããŸãã
äŸïŒmask-mode: luminance
ã䜿çšãã
.masked-element {
mask-image: url("grayscale-image.jpg");
mask-mode: luminance;
}
ãã®äŸã§ã¯ãã°ã¬ãŒã¹ã±ãŒã«ç»åããã¹ã¯ãšããŠäœ¿çšãããŸããç»åã®æããé åã¯.masked-element
ã®å¯Ÿå¿ããé åãå¯èŠã«ããæãé åã¯é衚瀺ã«ããŸãã
mask-repeat
mask-repeat
ããããã£ã¯ããã¹ã¯ç»åããã¹ã¯ãããèŠçŽ ãããå°ããå Žåã«ãã©ã®ããã«ç¹°ãè¿ãããããå¶åŸ¡ããŸããããã¯background-repeat
ããããã£ãšåæ§ã«åäœããŸãã
repeat
: ãã¹ã¯ç»åã¯èŠçŽ å šäœãã«ããŒããããã«æ°Žå¹³ããã³åçŽã«ç¹°ãè¿ãããŸãããããããã©ã«ãå€ã§ããrepeat-x
: ãã¹ã¯ç»åã¯æ°Žå¹³æ¹åã«ã®ã¿ç¹°ãè¿ãããŸããrepeat-y
: ãã¹ã¯ç»åã¯åçŽæ¹åã«ã®ã¿ç¹°ãè¿ãããŸããno-repeat
: ãã¹ã¯ç»åã¯ç¹°ãè¿ãããŸãããspace
: ãã¹ã¯ç»åã¯ã¯ãªãããããã«å¯èœãªéãå€ãç¹°ãè¿ãããŸããäœåãªã¹ããŒã¹ã¯ç»åéã«åçã«åé ãããŸããround
: ãã¹ã¯ç»åã¯å¯èœãªéãå€ãç¹°ãè¿ãããŸãããèŠçŽ ã«åãããŠç»åãã¹ã±ãŒãªã³ã°ãããããšããããŸããinherit
: 芪èŠçŽ ããmask-repeat
ã®å€ãç¶æ¿ããŸããinitial
: ãã®ããããã£ãããã©ã«ãå€ã«èšå®ããŸããunset
: 芪èŠçŽ ããç¶æ¿ããå Žåã¯ç¶æ¿å€ã«ãããã§ãªãå Žåã¯åæå€ã«ãªã»ããããŸãã
äŸïŒmask-repeat: no-repeat
ã䜿çšãã
.masked-element {
mask-image: url("small-mask.png");
mask-repeat: no-repeat;
}
ãã®äŸã§ã¯ãsmall-mask.png
ç»åããã¹ã¯ãšããŠäœ¿çšãããŸãããç¹°ãè¿ãããŸãããèŠçŽ ããã¹ã¯ç»åãã倧ããå Žåããã¹ã¯ãããŠããªãé åã¯å¯èŠã«ãªããŸãã
mask-position
mask-position
ããããã£ã¯ãèŠçŽ å
ã§ã®ãã¹ã¯ç»åã®åæäœçœ®ã決å®ããŸããããã¯background-position
ããããã£ãšåæ§ã«åäœããŸãã
äœçœ®ãæå®ããããã«top
ãbottom
ãleft
ãright
ãcenter
ã®ãããªããŒã¯ãŒãã䜿çšãããããã¯ã»ã«ãŸãã¯ããŒã»ã³ããŒãžå€ã䜿çšã§ããŸãã
äŸïŒmask-position: center
ã䜿çšãã
.masked-element {
mask-image: url("small-mask.png");
mask-repeat: no-repeat;
mask-position: center;
}
ãã®äŸã§ã¯ãsmall-mask.png
ç»åã¯.masked-element
å
ã§äžå€®ã«é
眮ãããŸãã
mask-size
mask-size
ããããã£ã¯ããã¹ã¯ç»åã®ãµã€ãºãæå®ããŸããããã¯background-size
ããããã£ãšåæ§ã«åäœããŸãã
auto
: ãã¹ã¯ç»åã¯å ã®ãµã€ãºã§è¡šç€ºãããŸãããããããã©ã«ãå€ã§ããcontain
: ãã¹ã¯ç»åã¯ã¢ã¹ãã¯ãæ¯ãç¶æããªããèŠçŽ å ã«åãŸãããã«ã¹ã±ãŒãªã³ã°ãããŸããç»åå šäœã衚瀺ãããŸãããåšå²ã«ç©ºãã¹ããŒã¹ãã§ããããšããããŸããcover
: ãã¹ã¯ç»åã¯ã¢ã¹ãã¯ãæ¯ãç¶æããªããèŠçŽ å šäœãåããããã«ã¹ã±ãŒãªã³ã°ãããŸããèŠçŽ ã«åãããããã«ç»åãããªãã³ã°ãããããšããããŸããlength
: ãã¹ã¯ç»åã®å¹ ãšé«ãããã¯ã»ã«ããã®ä»ã®åäœã§æå®ããŸããpercentage
: ãã¹ã¯ç»åã®å¹ ãšé«ããèŠçŽ ã®ãµã€ãºã®ããŒã»ã³ããŒãžãšããŠæå®ããŸããinherit
: 芪èŠçŽ ããmask-size
ã®å€ãç¶æ¿ããŸããinitial
: ãã®ããããã£ãããã©ã«ãå€ã«èšå®ããŸããunset
: 芪èŠçŽ ããç¶æ¿ããå Žåã¯ç¶æ¿å€ã«ãããã§ãªãå Žåã¯åæå€ã«ãªã»ããããŸãã
äŸïŒmask-size: cover
ã䜿çšãã
.masked-element {
mask-image: url("mask.png");
mask-size: cover;
}
ãã®äŸã§ã¯ãmask.png
ç»åã¯.masked-element
å
šäœãã«ããŒããããã«ã¹ã±ãŒãªã³ã°ãããå¿
èŠã«å¿ããŠç»åãããªãã³ã°ãããå¯èœæ§ããããŸãã
mask-origin
mask-origin
ããããã£ã¯ããã¹ã¯ã®äœçœ®æ±ºãã®åç¹ãæå®ããŸããããã¯mask-position
ããããã£ãèšç®ãããåºç¹ã決å®ããŸãã
border-box
: ãã¹ã¯ç»åã¯èŠçŽ ã®ããŒããŒããã¯ã¹ãåºæºã«é 眮ãããŸãããããããã©ã«ãå€ã§ããpadding-box
: ãã¹ã¯ç»åã¯èŠçŽ ã®ããã£ã³ã°ããã¯ã¹ãåºæºã«é 眮ãããŸããcontent-box
: ãã¹ã¯ç»åã¯èŠçŽ ã®ã³ã³ãã³ãããã¯ã¹ãåºæºã«é 眮ãããŸããinherit
: 芪èŠçŽ ããmask-origin
ã®å€ãç¶æ¿ããŸããinitial
: ãã®ããããã£ãããã©ã«ãå€ã«èšå®ããŸããunset
: 芪èŠçŽ ããç¶æ¿ããå Žåã¯ç¶æ¿å€ã«ãããã§ãªãå Žåã¯åæå€ã«ãªã»ããããŸãã
mask-clip
mask-clip
ããããã£ã¯ããã¹ã¯ã«ãã£ãŠã¯ãªãããããé åãå®çŸ©ããŸããããã¯èŠçŽ ã®ã©ã®éšåããã¹ã¯ã®åœ±é¿ãåããããæ±ºå®ããŸãã
border-box
: ãã¹ã¯ã¯èŠçŽ ã®ããŒããŒããã¯ã¹å šäœã«é©çšãããŸãããããããã©ã«ãå€ã§ããpadding-box
: ãã¹ã¯ã¯èŠçŽ ã®ããã£ã³ã°ããã¯ã¹ã«é©çšãããŸããcontent-box
: ãã¹ã¯ã¯èŠçŽ ã®ã³ã³ãã³ãããã¯ã¹ã«é©çšãããŸããtext
: ãã¹ã¯ã¯èŠçŽ ã®ããã¹ãã³ã³ãã³ãã«é©çšãããŸãããã®å€ã¯å®éšçã§ããããã¹ãŠã®ãã©ãŠã¶ã§ãµããŒããããŠããããã§ã¯ãããŸãããinherit
: 芪èŠçŽ ããmask-clip
ã®å€ãç¶æ¿ããŸããinitial
: ãã®ããããã£ãããã©ã«ãå€ã«èšå®ããŸããunset
: 芪èŠçŽ ããç¶æ¿ããå Žåã¯ç¶æ¿å€ã«ãããã§ãªãå Žåã¯åæå€ã«ãªã»ããããŸãã
mask-composite
mask-composite
ããããã£ã¯ãè€æ°ã®ãã¹ã¯ã¬ã€ã€ãŒãã©ã®ããã«çµã¿åãããããæå®ããŸãããã®ããããã£ã¯ãåãèŠçŽ ã«è€æ°ã®mask-image
宣èšãé©çšãããŠããå Žåã«äŸ¿å©ã§ãã
add
: ãã¹ã¯ã¬ã€ã€ãŒãè¶³ãåããããŸããçµæã®ãã¹ã¯ã¯ãã¹ãŠã®ãã¹ã¯ã¬ã€ã€ãŒã®åéåã«ãªããŸããsubtract
: 2çªç®ã®ãã¹ã¯ã¬ã€ã€ãŒãæåã®ãã¹ã¯ã¬ã€ã€ãŒããå·®ãåŒãããŸããintersect
: çµæã®ãã¹ã¯ã¯ãã¹ãŠã®ãã¹ã¯ã¬ã€ã€ãŒã®ç©éåã«ãªããŸãããã¹ãŠã®ã¬ã€ã€ãŒã§ãã¹ã¯ãããŠããé åã®ã¿ã衚瀺ãããŸããexclude
: çµæã®ãã¹ã¯ã¯ãã¹ãŠã®ãã¹ã¯ã¬ã€ã€ãŒã®æä»çè«çåïŒXORïŒã«ãªããŸããinherit
: 芪èŠçŽ ããmask-composite
ã®å€ãç¶æ¿ããŸããinitial
: ãã®ããããã£ãããã©ã«ãå€ã«èšå®ããŸããunset
: 芪èŠçŽ ããç¶æ¿ããå Žåã¯ç¶æ¿å€ã«ãããã§ãªãå Žåã¯åæå€ã«ãªã»ããããŸãã
mask
ïŒã·ã§ãŒããã³ãããããã£ïŒ
mask
ããããã£ã¯ãè€æ°ã®ãã¹ã¯ããããã£ãäžåºŠã«èšå®ããããã®ã·ã§ãŒããã³ãã§ããããã«ãããmask-image
ãmask-mode
ãmask-repeat
ãmask-position
ãmask-size
ãmask-origin
ãããã³mask-clip
ããããã£ãåäžã®å®£èšã§æå®ã§ããŸãã
äŸïŒmask
ã·ã§ãŒããã³ãããããã£ã䜿çšãã
.masked-element {
mask: url("mask.png") no-repeat center / cover;
}
ããã¯ä»¥äžãšåçã§ãïŒ
.masked-element {
mask-image: url("mask.png");
mask-repeat: no-repeat;
mask-position: center;
mask-size: cover;
}
å®è·µçãªäœ¿çšäŸãšãµã³ãã«
CSSãã¹ãã³ã°ã¯ãããŸããŸãªèŠèŠå¹æãäœæããããã«äœ¿çšã§ããŸãã以äžã«ããã€ãã®äŸãæããŸãã
1. ãããŒæã«ã³ã³ãã³ãã衚瀺ãã
CSSãã¹ã¯ã䜿çšããŠããŠãŒã¶ãŒãèŠçŽ ã«ãããŒãããšãã«ã³ã³ãã³ãã衚瀺ããã广ãäœæã§ããŸããããã«ããããã¶ã€ã³ã«ã€ã³ã¿ã©ã¯ãã£ãæ§ãšè峿·±ããå ããããšãã§ããŸãã
Hidden Content
This content is revealed on hover.
.reveal-container {
position: relative;
width: 300px;
height: 200px;
overflow: hidden;
}
.reveal-content {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: #007bff;
color: white;
display: flex;
justify-content: center;
align-items: center;
mask-image: url("circle-mask.png");
mask-size: 20px;
mask-repeat: no-repeat;
mask-position: center;
transition: mask-size 0.3s ease;
}
.reveal-container:hover .reveal-content {
mask-size: 200%;
}
ãã®äŸã§ã¯ãæåã«å°ããªå圢ã®ãã¹ã¯ã.reveal-content
ã«é©çšãããŸãããŠãŒã¶ãŒã.reveal-container
ã«ãããŒãããšããã¹ã¯ã®ãµã€ãºã倧ãããªããé ãããŠããã³ã³ãã³ãã衚瀺ãããŸãã
2. ã·ã§ã€ããªãŒããŒã¬ã€ã®äœæ
CSSãã¹ã¯ã䜿çšããŠãç»åãä»ã®èŠçŽ ã®äžã«è峿·±ã圢ç¶ã®ãªãŒããŒã¬ã€ãäœæã§ããŸããããã«ããããã¶ã€ã³ã«ãŠããŒã¯ãªèŠèŠçã¹ã¿ã€ã«ã远å ã§ããŸãã
.shape-overlay {
position: relative;
width: 400px;
height: 300px;
}
.shape-overlay img {
width: 100%;
height: 100%;
object-fit: cover;
}
.shape-overlay::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
mask-image: url("triangle-mask.svg");
mask-size: cover;
mask-repeat: no-repeat;
}
ãã®äŸã§ã¯ãç»åããªãŒããŒã¬ã€ããç䌌èŠçŽ ã«äžè§åœ¢ã®ãã¹ã¯ãé©çšãããŸããããã«ãããç»åã«èŠèŠçãªé¢çœã¿ãå ããã·ã§ã€ããªãŒããŒã¬ã€å¹æãäœæãããŸãã
3. ããã¹ããã¹ãã³ã°
mask-clip: text
ã¯ãŸã å®éšçã§ãããèæ¯ç»åãæã€èŠçŽ ãããã¹ãã®åŸãã«é
眮ããããã¹ãèªäœããã¹ã¯ãšããŠäœ¿çšããããšã§ããã¹ããã¹ãã³ã°å¹æãå®çŸã§ããŸãããã®ãã¯ããã¯ã¯ãèŠèŠçã«å°è±¡çãªã¿ã€ãã°ã©ãã£ãäœæã§ããŸãã
Masked Text
.text-mask {
position: relative;
width: 500px;
height: 200px;
font-size: 72px;
font-weight: bold;
color: white;
background-image: url("background.jpg");
background-size: cover;
-webkit-text-fill-color: transparent; /* Required for Safari */
-webkit-background-clip: text; /* Required for Safari */
background-clip: text;
}
ãã®äŸã§ã¯ãbackground-clip: text
ïŒããåºãäºææ§ã®ããã®ãã³ããŒãã¬ãã£ãã¯ã¹ä»ãïŒã掻çšããŠãããã¹ãããã¹ã¯ãšããŠäœ¿çšãããã®èåŸã«ããèæ¯ç»åã衚瀺ããŸãã
4. ã¢ãã¡ãŒã·ã§ã³ãã¹ã¯ã®äœæ
mask-position
ãmask-size
ããããã£ãã¢ãã¡ãŒã·ã§ã³åããããšã§ãåçã§é
åçãªãã¹ã¯å¹æãäœæã§ããŸããããã«ããããã¶ã€ã³ã«åããšã€ã³ã¿ã©ã¯ãã£ãæ§ãå ããããšãã§ããŸãã
.animated-mask {
position: relative;
width: 400px;
height: 300px;
overflow: hidden;
}
.animated-mask img {
width: 100%;
height: 100%;
object-fit: cover;
mask-image: url("circle-mask.png");
mask-size: 50px;
mask-repeat: repeat;
mask-position: 0 0;
animation: moveMask 5s linear infinite;
}
@keyframes moveMask {
0% {
mask-position: 0 0;
}
100% {
mask-position: 100% 100%;
}
}
ãã®äŸã§ã¯ãmask-position
ãã¢ãã¡ãŒã·ã§ã³åãããæéãšãšãã«ç»åã®ç°ãªãéšåã衚瀺ããåããã¹ã¯å¹æãäœæãããŸãã
ãã¹ããã©ã¯ãã£ã¹ãšèæ ®äºé
CSSãã¹ã¯ã䜿çšããéã¯ã以äžã®ãã¹ããã©ã¯ãã£ã¹ã念é ã«çœ®ããŠãã ããã
- ããã©ãŒãã³ã¹: è€éãªãã¹ã¯ãç¹ã«å€§ããªç»åãå ¥ãçµãã ã°ã©ããŒã·ã§ã³ã䜿çšãããã®ã¯ãããã©ãŒãã³ã¹ã«åœ±é¿ãäžããå¯èœæ§ããããŸãããã¹ã¯ç»åãšã°ã©ããŒã·ã§ã³ãæé©åããŠããµã€ãºãšè€éããæå°éã«æããŠãã ãããããã©ãŒãã³ã¹ãšã¹ã±ãŒã©ããªãã£ãåäžãããããã«ããã¯ã¿ãŒããŒã¹ã®ãã¹ã¯ïŒSVGïŒã®äœ¿çšãæ€èšããŠãã ããã
- ãã©ãŠã¶äºææ§: CSSãã¹ã¯ããããã£ã¯çŸä»£ã®ãã©ãŠã¶ã§åºããµããŒããããŠããŸãããå€ããã©ãŠã¶ã§ã¯ãµããŒããããŠããªãå ŽåããããŸããæ©èœæ€åºïŒäŸïŒModernizrïŒã䜿çšããŠãã¹ã¯ã®ãµããŒãã確èªããå€ããã©ãŠã¶åãã®ãã©ãŒã«ããã¯ãœãªã¥ãŒã·ã§ã³ãæäŸããŠãã ããããŸããäžéšã®ãã©ãŠã¶ã®å€ãããŒãžã§ã³ãšã®äºææ§ã確ä¿ããããã«ããã³ããŒãã¬ãã£ãã¯ã¹ïŒäŸïŒ
-webkit-mask-image
ïŒã䜿çšããããšãã§ããŸãã - ã¢ã¯ã»ã·ããªãã£: CSSãã¹ã¯ã®äœ¿çšãWebãµã€ãã®ã¢ã¯ã»ã·ããªãã£ã«æªåœ±é¿ãäžããªãããã«ããŠãã ããããã¹ã¯ãããèŠçŽ ã衚瀺ã§ããªããŠãŒã¶ãŒã®ããã«ã代æ¿ã³ã³ãã³ããã¹ã¿ã€ãªã³ã°ãæäŸããŠãã ããããã¹ã¯ãããã³ã³ãã³ãã®æå³ãšç®çãäŒããããã«ãé©åãªARIA屿§ã䜿çšããŠãã ããã
- ç»åæé©å: ãã¹ã¯ç»åãWebçšã«æé©åããŠãã ãããé©åãªç»å圢åŒïŒäŸïŒéæåºŠã®ããç»åã«ã¯PNGãåçã«ã¯JPEGïŒã䜿çšããç»åãå§çž®ããŠãã¡ã€ã«ãµã€ãºãåæžããŠãã ããã
- ãã¹ã: CSSãã¹ã¯ã®å®è£ ãããŸããŸãªãã©ãŠã¶ãããã€ã¹ã§åŸ¹åºçã«ãã¹ãããæ£ããã¬ã³ããªã³ã°ãããè¯å¥œãªããã©ãŒãã³ã¹ãçºæ®ããããšã確èªããŠãã ããã
- ããã°ã¬ãã·ããšã³ãã³ã¹ã¡ã³ã: ãã¹ãã³ã°ãããã°ã¬ãã·ããšã³ãã³ã¹ã¡ã³ããšããŠå®è£ ããŠãã ããããã©ãŠã¶ã®ãµããŒããéãããŠãããŠãŒã¶ãŒã«ã¯åºæ¬çã§æ©èœçãªãã¶ã€ã³ãæäŸããçŸä»£ã®ãã©ãŠã¶ã䜿çšãããŠãŒã¶ãŒã«ã¯CSSãã¹ã¯ã§ãã¶ã€ã³ã匷åããŸãã
ä»£æ¿æ¡ãšãã©ãŒã«ããã¯
CSSãã¹ã¯ããããã£ããµããŒãããŠããªãå€ããã©ãŠã¶ããµããŒãããå¿ èŠãããå Žåã¯ã以äžã®ä»£æ¿æ¡ã䜿çšã§ããŸãã
clip-path
:clip-path
ããããã£ã䜿çšããŠãèŠçŽ ãåºæ¬çãªåœ¢ç¶ã«ã¯ãªããããããšãã§ããŸããCSSãã¹ã¯ã»ã©ã®æè»æ§ã¯ãããŸããããåçŽãªãã¹ãã³ã°å¹æãäœæããããã«äœ¿çšã§ããŸãã- JavaScript: JavaScriptã䜿çšããŠãããè€éãªãã¹ãã³ã°å¹æãäœæã§ããŸãããã®ã¢ãããŒãã¯ããå€ãã®ã³ãŒããå¿ èŠãšããŸããããã倧ããªå¶åŸ¡ãšæè»æ§ãæäŸã§ããŸããFabric.jsã®ãããªã©ã€ãã©ãªã¯ãJavaScriptã§ãã¹ã¯ãäœæããã³æäœããããã»ã¹ãç°¡çŽ åã§ããŸãã
- ãµãŒããŒãµã€ãã§ã®ç»åæäœ: ãµãŒããŒäžã§ç»åãååŠçããŠãã¹ãã³ã°å¹æãé©çšããããšãã§ããŸãããã®ã¢ãããŒãã¯ã¯ã©ã€ã¢ã³ããµã€ãã®åŠçéãæžãããŸãããããå€ãã®ãµãŒããŒãµã€ããªãœãŒã¹ãå¿ èŠãšããŸãã
çµè«
CSSãã¹ã¯ããããã£ã¯ãWebäžã§é åçãªèŠèŠå¹æãäœæããããã®åŒ·åã§æ±çšæ§ã®é«ãæ¹æ³ãæäŸããŸããããŸããŸãªãã¹ã¯ããããã£ãšãã®äœ¿çšäŸãçè§£ããããšã§ãæ°ããã¬ãã«ã®åµé æ§ãè§£ãæŸã¡ããã¶ã€ã³ã«ãŠããŒã¯ãªã¹ã¿ã€ã«ãå ããããšãã§ããŸãããã©ãŠã¶ã®äºææ§ãããã©ãŒãã³ã¹ãèæ ®ããããšã¯äžå¯æ¬ ã§ãããCSSãã¹ã¯ã䜿çšããããšã®æœåšçãªå ±é ¬ã¯ããã®åŽåã«å€ãããã®ã§ããããŸããŸãªãã¹ã¯ç»åãã°ã©ããŒã·ã§ã³ãã¢ãã¡ãŒã·ã§ã³ã詊ããŠãCSSãã¹ãã³ã°ã®ç¡éã®å¯èœæ§ãçºèŠããWebãã¶ã€ã³ãæ°ããªé«ã¿ãžãšåŒãäžããŸããããCSSãã¹ã¯ã®åãæŽ»çšããWebããŒãžãèŠèŠçã«é åçãªäœéšã«å€ããŠãã ããã
ç¹çްãªè¡šç€ºå¹æããè€éãªã·ã§ã€ããªãŒããŒã¬ã€ãŸã§ãCSSãã¹ãã³ã°ã¯ãŠããŒã¯ã§é åçãªãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãäœæããåãäžããŠãããŸãããã©ãŠã¶ã®ãµããŒããåäžãç¶ããã«ã€ããŠãCSSãã¹ã¯ã¯ééããªãçŸä»£ã®Webéçºè ã®ããŒã«ãããã®ããã«äžå¯æ¬ ãªéšåã«ãªãã§ãããããããé£ã³èŸŒãã§ãå®éšããCSSãã¹ã¯ããããã£ã§ããªãã®åµé æ§ãè§£ãæŸã¡ãŸãããïŒ